             package com.java.diagnostics.visualizer.memory.parser;
             
             import com.java.diagnostics.visualizer.data.axes.XAxis;
             import com.java.diagnostics.visualizer.data.axes.XDataAxis;
             import com.java.diagnostics.visualizer.data.axes.YAxis;
             import com.java.diagnostics.visualizer.data.axes.YDataAxis;
             import com.java.diagnostics.visualizer.exceptions.GCAndMemoryVisualizerException;
             import com.java.diagnostics.visualizer.factory.DataFactory;
             import com.java.diagnostics.visualizer.impl.factory.LogFactory;
             import com.java.diagnostics.visualizer.memory.util.Messages;
             import com.java.diagnostics.visualizer.parser.vgc.constants.VGCAxes;
             import com.java.diagnostics.visualizer.parser.vgc.converters.BytesToGigabytesUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.BytesToKilobytesUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.BytesToMegabytesUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.DateUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.DaysUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.HoursUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.MinutesUnitConverter;
             import com.java.diagnostics.visualizer.parser.vgc.converters.SecondsUnitConverter;
             import com.java.diagnostics.visualizer.properties.OutputProperties;
             import com.java.diagnostics.visualizer.sources.Source;
             import java.util.logging.Logger;
             
             public class NativeMemoryAxes
               extends VGCAxes
             {
               private static final Logger TRACE = LogFactory.getTrace(NativeMemoryAxes.class);
               
               private static final DataFactory factory = DataFactory.getFactory("Native memory");
               
               public static final String PAGES = Messages.getString("NativeMemoryAxes.pages");
               
               public static final YAxis PAGES_AXIS = factory.createYAxis("VGCAxes.data", DATA, BYTES);
               
               public static XDataAxis prepareXAxis(Source source, OutputProperties properties)
               {
                 XDataAxis xAxis = VGCAxes.getXAxis(properties).createDataAxis(source, properties);
                 
                 try
                 {
                   xAxis.addUnitConverter(new HoursUnitConverter());
                   xAxis.addUnitConverter(new MinutesUnitConverter());
                   
                   xAxis.addUnitConverter(new SecondsUnitConverter());
                   
                   xAxis.addUnitConverter(new DateUnitConverter());
                   xAxis.addUnitConverter(new DaysUnitConverter());
                 } catch (GCAndMemoryVisualizerException e) {
                   TRACE.warning(e.toString());
                 }
                 
                 return xAxis;
               }
               
               public static YDataAxis preparePagesMemoryAxis(OutputProperties properties) {
                 YDataAxis heapAxis = PAGES_AXIS.createDataAxis(false, properties);
                 try
                 {
                   heapAxis.addUnitConverter(new BytesToKilobytesUnitConverter());
                   heapAxis.addUnitConverter(new BytesToMegabytesUnitConverter());
                   heapAxis.addUnitConverter(new BytesToGigabytesUnitConverter());
                 } catch (GCAndMemoryVisualizerException e) {
                   TRACE.warning(e.toString());
                 }
                 return heapAxis;
               }
             }


